The Global Positioning System (GPS) is a U.S. government-supported system for precise position and velocity determination of objects. GPS is used in both military and civilian applications such as aircraft navigation and surveying. Orbiting satellites emit coded radio frequency signals that are received and processed by receivers on or near the surface of the earth to obtain pseudorange measurements, approximate instantaneous distances between the satellites and receiver. Because the satellite orbits and signal transmission times are known precisely, the receipt time of a particular signal bit can be used to quantify the transit time or range to the particular satellite. The orbits of the GPS satellites are arranged in multiple planes so that signals can be received from at least four satellites at any point on or near the earth, allowing precise position and velocity measurements of the receiver.
Each satellite continually transmits two spread-spectrum signals that are modulated by at least one of two pseudo-random noise (PRN) codes unique to the satellite. A receiver can therefore identify and separate signals from each satellite into separate channels, process the channel data separately, and combine the processed data to compute the receiver position. In addition to the PRN code, the signals are modulated by slower-varying data signals defining the satellite orbits and other relevant information needed for the computations. The two signal frequencies are in the L band and are referred to as L1 and L2. The L1 signal has a carrier frequency of 1575.42 MHz, usually expressed as 1540fo, where fo=1.023 MHz. The L2 signal has a carrier frequency of 1227.6 MHz, or 1200fo.
The two PRN codes are known as the precise (P) code and the course/acquisition (C/A) code. The P code is available only to military and other authorized users, while the C/A code is available to all users for commercial and other civilian uses. The L1 signal is modulated by both the P and C/A codes, and the L2 signal by the P code only. The P code is spread over a bandwidth of 20.46 MHz and has a repetition frequency of one cycle per week. The C/A code, which contains 1023 bits, has a 1.023 MHz clock rate and a repetition frequency of 1 kHz. The remainder of this description focuses on the C/A code; however, analogous descriptions apply to the P code or any other PRN code.
In the receiver, local signals corresponding to the known PRN codes are generated and correlated with the received signals. The phases of the local signals are adjusted until the local signals correctly track the received signal. Since the time at which each bit of the code sequence is transmitted from the satellite is known, the time of receipt of each bit is a direct measure of the transmit time of the signal from the satellite to the receiver, and therefore a measure of the distance between the two. Based on the computed relative phase of the received signal, the receiver calculates the desired quantities of distance, velocity, etc.
In order to understand the context of the present invention, it is necessary to understand the method by which the receiver tracks the incoming code. The most common pseudorandom noise code is a binary sequence of 0's and 1's or −1's and +1's that modulates the carrier phase. The code sequence appears to be random, but in fact repeats identically at regular intervals. The C/A code consists of 1023 “chips,” the length of time during which the code remains constant; the C/A chip period is therefore approximately 977.5 nanoseconds, equivalent to a distance of 293.05 meters. A portion 10 of a C/A code is shown in FIG. 1. In the receiver, a correlation function is formed between the actual received signal (after filtering) and a local replica. FIG. 1 illustrates the concept of the correlation function with code replicas 12a-12f and 14 that are offset from received code portion 10 by whole numbers of chips. Each chip period in which the received and replica value of the code are identical contributes +{fraction (1/12)} (the number of chips in this example) to the correlation function, and each chip with different values of the codes contributes −{fraction (1/12)}. When the replica is directly lined up with the code, as is the final code replica 14 of FIG. 1, the correlation function has a value of 1. In all other offsets, as for replicas 12a-12f, the correlation function has a magnitude much less than 1. For longer sequences, the correlation function is much smaller in magnitude and is often considered to be effectively zero beyond an offset of one chip in either direction.
The bulk of the power in the correlation function occurs within a region between +1 and −1 chips offset from the received code signal. FIG. 2 shows a received code signal 16 and two offset replicas 18 and 20, along with a correlation function 22. The early 26 and late 28 arrows on function 22 correspond to code replicas 18 and 20, respectively. Clearly, offsetting replicas 18 and 20 from the received function by a value less than one chip decreases correlation function 22 from its maximum value of one, but still provides enough overlap for it to be significantly greater than zero. As a result, correlation function 22 has a triangular central portion 24 referred to as its main lobe. A standard delay-lock loop (DLL) uses a pair of correlators 26 and 28 that sample function 22 at early and late offsets from the peak 30. The goal of the DLL is to straddle the peak symmetrically so that peak 30 is exactly half-way between correlators 26 and 28. Practically, correlation function 22 is sampled at the early and late positions 26 and 28, and an early minus late value is obtained and used to control the offsets of the correlators. Peak 30 is considered to be located when the early minus late value is zero. If the early minus late value is positive, then the correlators are shifted earlier. Analogously, if the early minus late value is negative, then the correlators are shifted later.
A highly schematic view of a GPS receiver 31 is shown in FIG. 3. The RF front end of most conventional GPS receivers is analog. An incoming signal enters through an antenna 32 and is immediately amplified by a pre-amplifier. The signal is then cable-routed to a multi-stage downconversion process 34, during which a series of intermediate frequency mixers and filters converts the signal, nominally 20 MHz wide and centered at 1.545 GHz for L1, C/A code receivers, to baseband for correlation, tracking, and subsequent processing. A final intermediate frequency stage filter 36 sets the precorrelation bandwidth (PCB). Narrowband receivers have a PCB less than 2.5 MHz wide and pass only the main lobe of the C/A code power spectrum. Some implications of narrow PCB receivers are discussed below. The signal is then digitally sampled (38), and the values of the correlation function at the late (40) and early (42) correlators are determined. A processor 44 computes the early minus late error and determines the required adjustment to the correlators. A digitally-controlled (or numerically-controlled) oscillator (DCO) 46 adjusts the phase of the early 48 and late 50 code replicas until the code is correctly tracked.
This standard DLL implementation assumes a direct line of sight (LOS) between each satellite and the GPS receiver, i.e., that the relative time delay between signal transmission and reception is equal to the time for the signal to travel directly from the satellite to the receiver. In fact, most received signals are distorted by reflections of the transmitted signal from objects such as buildings and mountains or from the ground. Thus the received signal is a sum of the LOS signal and the so-called multipath (MP) signals. A highly schematic illustration of multipath is shown in FIG. 4. A signal transmitter 52, e.g., a satellite, transmits a signal that is received by a receiver 54. A line of sight signal 56 travels directly from transmitter 52 to receiver 54. Additionally, multipath signals 58 and 60 reflect from a mountain 62 and building 64, respectively, before arriving at receiver 54. While only two multipath signals are shown, there are typically many more multipath signals arriving at receiver 54. Multipath signals are always delayed relative to the LOS signal, because they necessarily travel a longer distance between the transmitter and receiver. As a result of the reflections, multipath signals typically also have lower amplitudes than LOS signals.
The effect of multipath on the DLL is illustrated schematically in FIG. 5. For clarity, only one multipath signal is shown. A multipath code 66 (dashed line) adds to a line-of-sight signal 68 (dotted line) to yield a total code signal 70 (solid line). Note that MP signal 66 is a delayed and lower-amplitude version of LOS signal 68 and therefore adds a delayed, lower-amplitude function 72 to the LOS correlation function 74. As a result, the peak shape of the total correlation function 76 is distorted, causing the correlators to converge to a location 78 that is offset from the line of sight peak 80. The difference between LOS peak 80 and the midpoint between the two correlators (often tracked with an additional “prompt” correlator) is the DLL tracking error 82 caused by multipath. The tracking error in the pseudorange measurement propagates to position, velocity, and other measurements, and is therefore highly detrimental to the accuracy of the system.
Multipath tracking errors are difficult to remove for a number of reasons. Multipath errors are not zero mean, particularly for large amplitude MP signals, so that even infinite smoothing of the computed pseudorange cannot guarantee unbiased position errors. In general, the pseudorange is a nonlinear function of multipath parameters such as amplitude, delay, and phase, which are not constant; changes in any one of these parameters can affect the DLL in unpredictable ways. Multipath errors are also particular to the location of the receiver, and thus errors at one receiver cannot be used to eliminate errors at a second receiver.
The multipath tracking error can be reduced somewhat by decreasing the spacing between the early and late correlators. Multipath effects occur primarily at the late slope of the main lobe, particularly for long-delay multipath. Thus while traditional DLL early and late correlators have spacings of one chip, many current receivers have correlator spacings of 0.5 chips or less. Decreasing the correlator spacing, however, cannot eliminate the fundamental effects of multipath. Furthermore, receivers with a narrow PCB flatten the correlation peak, and narrow correlator spacing has little effect on the tracking error in such receivers. FIG. 6 is a plot of theoretical tracking error as a function of multipath delay for two different correlator spacings, 0.1 and 1 chip, for a signal-to-multipath ratio of 3 dB and a 2 MHz precorrelation bandwidth.
A large number of techniques for eliminating or reducing multipath-induced tracking error have been developed. Current techniques can be grouped into two major categories, separation and estimation. Separation techniques essentially attempt to separate the LOS and MP signals and then track the LOS signal alone to eliminate the effects of multipath. Estimation techniques estimate the parameters of the LOS and MP signals to approximate their combined effect on the tracking error. All of these techniques require extra hardware for additional processing of the correlation function and often a wider bandwidth. Typically, additional correlators sample the peak at many locations to map out the complete curve. These methods are sensitive to changes in multipath parameters and have difficulty as the multipath parameters approach the line of sight parameters, i.e., at low multipath delays. Under these conditions, distinguishing LOS from multipath requires a very precise sampling of the function. Most multipath mitigation techniques therefore perform well against long-delay multipath, but for delays of below 30 meters, their performance degrades to that of a conventional, one-chip spacing DLL. Current techniques are also primarily effective only in wideband receivers. Receivers with narrow PCB generate correlation functions with flattened and rounded main lobes; even with relatively long multipath delays, distinguishing multipath from LOS is difficult in such receivers.
The E1-E2 Tracker technique is disclosed in P. G. Mattos, “Multipath Elimination for the Low-Cost Consumer GPS,” Proceedings of the 9th International Technical Meeting of the Satellite Division of the Institute of Navigation, Vol. 1, pp. 665-671, 1996. In this method, an additional pair of correlators samples the main lobe of the correlation function at its earliest, relatively undelayed portions. The computed actual slope obtained from the correlators is compared with an ideal line of sight slope, and the difference is used to control the DLL correlators dynamically. This technique has a number of drawbacks. For accurate estimates of the slope, a maximum receiver precorrelation bandwidth is required. That is, it does not work well in narrow PCB receivers. It also performs best against medium- and long-delay multipath, and performs poorly under high noise conditions. Thus the E1-E2 Tracker method has similar drawbacks to other multipath mitigation techniques.
It would be a significant improvement in the art to provide a multipath mitigation technique that is effective in narrow PCB receivers. Narrowband receivers provide a number of advantages over wideband receivers. They are much less vulnerable to both narrowband interference and degradations or anomalies in the transmitted signals. It would also be an improvement to provide a multipath mitigation technique that operates independently of multipath parameters.